package ch5;

public class Mall {
    String name;
    String address;
    Vip[] v = new Vip[2];
    int count = 0;

    // 0：添加新会员开卡的方法（添加新会员，参数如何处理？）方法申明如下：public boolean add(Card c)
    // 2*：增加新会员方法中添加判断，添加新会员时限制会员号不能重复，如果重复，禁止添加。
    //   提示：添加方法 boolean checkCardNoRepeat(String no)判断是否重复，如果返回true,则重复。
        public boolean add(Vip s) {
            if (count >= v.length) {
//                Vip[]vx=new Vip[count+2];
//                for(int i=0;i<count;i++){
//                    vx[i]=v[i];
//                }
                return false;
            }
            v[count++]=s;
            return true;
        }
//    public boolean add(String newVipNo, String newVipName, String newVipPhone, int newVipIntegral) {
//        if (count >= v.length) {
//            System.out.println("会员已满，无法添加！");
//            return false;
//        }
//        v[count] = new Vip();
//        v[count].setVipNo(newVipNo);
//        v[count].setVipName(newVipName);
//        v[count].setVipPhone(newVipPhone);
//        if (newVipIntegral > 600) {
//            newVipIntegral = 600;
//            v[count].setVipIntegral(newVipIntegral);
//        } else {
//            v[count].setVipIntegral(newVipIntegral);
//        }
//        count++;
//        return true;
//    }

    public void show() {
        System.out.println("会员信息：");
        System.out.println("序号  " + "会员卡号  " + "会员姓名  " + "会员手机号  " + "积分");
        for (int i = 0; i < count; i++) {
            System.out.println((i + 1) + "  " + v[i].getVipNo() + "  " + v[i].getVipName()
                    + "  " + v[i].getVipPhone() + "  " + v[i].getVipIntegral());
        }
    }

    //1: 尝试加方法：给某一用户涨分的方法。
    // 方法声明如右： boolean inc(String cardNo,int fen)：如果帐号不存在，返回false
    public boolean inc(String vipNo, int Integral) {
        for (int i = 0; i < count; i++) {
            if (vipNo.equals(v[i].getVipNo())) {
                v[i].setVipIntegral1(Integral);
                return true;
            }
        }
        return false;
    }

    //定义兑换礼品的方法假设
    //     1：100分兑换餐巾纸一包；
    //     2：400分兑换剃须刀一把；
    //     3：1000分兑换炒锅一个；
    // 用户输入卡号和需要兑换的奖品，兑换成功后扣除相应积分(礼品类不需要定义，用String返回即可)；如果帐号不存在，或者积分不够，兑换失败(提示:如果兑换成功,需要扣除相应的积分)。
    //  如果不成功，返回null。声明如下：
    //   public String duihuan(String cardNo,int lipingleixing)
    public String duihuan(String vipNo1, int choose) {
        for (int i = 0; i < count; i++) {
            if (vipNo1.equals(v[i].getVipNo())) {
                if (choose == 1 && v[i].getVipIntegral() >= 100) {
                    v[i].setVipIntegral1(-100);
                    System.out.println("100分成功兑换餐巾纸一包");
                    return "";
                }
                if (choose == 2 && v[i].getVipIntegral() >= 400) {
                    v[i].setVipIntegral1(-400);
                    System.out.println("400分成功兑换剃须刀一把");
                    return "";
                }
                if (choose == 3 && v[i].getVipIntegral() >= 1000) {
                    v[i].setVipIntegral1(-1000);
                    System.out.println("1000分成功兑换炒锅一个");
                    return "";
                }
            }

        }
        System.out.println("兑换失败！");
        return null;
    }
}

